/**
WOP_Bool_Entry

進一步定義Entry中的關於Bool基本attribute

賴念煒 -06/12/11 新增檔案。
**/

#ifndef _WOP_Bool_Entry_H_
#define	_WOP_Bool_Entry_H_
/*------------------------------------------------------------*/
#include "WOP_Entry.h"
//#include "src/MappingTree.h"

class WOP_Bool_Entry:public WOP_Entry{
private:
	WOP_Bool_Entry(){}
	bool _val ;
public:
	WOP_Bool_Entry(string s,WOP_Entry* parent);
	WOP_Bool_Entry(string s);

	bool* getBoolValAddr() { return &_val ; }
	string getTypeStr() { return std::string("bool"); }
	virtual bool update(); // because we have a new variable val, we need to override 
	virtual void updateRealValue(string s) {
		bool value ;
		_value = s ;
		if(from_string<bool>(value, std::string(_value), std::boolalpha)) {
			_val = value ;
		} else assert(false);
	}
};
/*------------------------------------------------------------*/
#endif	//#ifndef _WOP_Bool_Entry_H_